package com.itheima.mapdemo2;

import java.util.*;

public class Test {

    public static void main(String[] args) {

        //Map集合的案例：投票统计程序
        calculateVote();
    }

    public static void calculateVote() {

        //1.获取80个学生的投票数据
        List<String> locations = new ArrayList<>();
        String[] names = {"A", "B", "C", "D" };
        Random random = new Random();
        for (int i = 0; i < 80; i++) {
            int index = random.nextInt(names.length);
            locations.add(names[index]);
        }
        //System.out.println(locations);

        //2.统计每个景点的投票情况
        //统计结果是键值对形式，所以可以考虑使用Map集合来存储
        Map<String, Integer> map = new HashMap<>();

        //3.遍历80个学生的投票数据，统计每个景点被选择的次数
        for (String location : locations) {
            /*//判断当前景点是否已经统计过
            if (map.containsKey(location)) {
                //如果已经统计过，则获取当前景点的投票次数，并加1
                int count = map.get(location);
                count++;
                //将新的投票次数重新设置到map集合中
                map.put(location, count);
            } else {
                //如果还未统计过，则直接将当前景点的投票次数设置为1
                map.put(location, 1);
            }*/
            map.put(location, map.containsKey(location) ? map.get(location) + 1 : 1);
        }

        //4.遍历map集合，输出投票结果
        //System.out.println(map);
        map.forEach((k, v) -> System.out.println(k + "：" + v + "票"));
    }
}
